<?xml version="1.0" encoding="utf-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified">
	<xs:element name="configuration">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="scripts" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="script" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:attribute name="key" type="xs:string" use="required" />
									<xs:attribute name="url" type="xs:anyURI" use="required" />
									<xs:attribute name="extendsClass" type="xs:string" use="optional" />
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="modules" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="module" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="option" type="option" minOccurs="0" maxOccurs="unbounded" />
									</xs:sequence>
									<xs:attribute name="type" type="xs:string" use="required" />
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="transitions" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="transition" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="option" type="option" minOccurs="0" maxOccurs="unbounded" />
									</xs:sequence>
									<xs:attribute name="type" type="xs:string" use="required" />
									<xs:attribute name="name" type="xs:string" use="required" />
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="dataProvider" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="option" type="option" minOccurs="0" maxOccurs="unbounded" />
						</xs:sequence>
						<xs:attribute name="type" type="xs:string" use="required" />
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="id" type="xs:string" use="optional" />
			<xs:attribute name="top" type="xs:string" use="optional" />
			<xs:attribute name="left" type="xs:string" use="optional" />
			<xs:attribute name="bottom" type="xs:string" use="optional" />
			<xs:attribute name="right" type="xs:string" use="optional" />
			<xs:attribute name="width" type="xs:string" use="optional" />
			<xs:attribute name="height" type="xs:string" use="optional" />
			<xs:attribute name="background" type="xs:string" use="optional" />
			<xs:attribute name="windowless" type="xs:boolean" use="optional" />
			<xs:attribute name="framerate" type="xs:unsignedInt" use="optional" />
			<xs:attribute name="enableframeratecounter" type="xs:boolean" use="optional" />
			<xs:attribute name="enableredrawregions" type="xs:boolean" use="optional" />
			<xs:attribute name="enabletrace" type="xs:boolean" use="optional" />
			<xs:attribute name="installinplace" type="xs:boolean" use="optional" />
			<xs:attribute name="installunsupportedbrowsers" type="xs:boolean" use="optional" />
			<xs:attribute name="cssclass" type="xs:string" use="optional" />
			<xs:attribute name="opacity" type="xs:decimal" use="optional" />
			<xs:attribute name="visibility" type="xs:string" use="optional" />
			<xs:attribute name="cursor" type="xs:string" use="optional" />
		</xs:complexType>
	</xs:element>
	<xs:complexType name="option">
		<xs:attribute name="name" type="xs:string" use="required" />
		<xs:attribute name="value" type="xs:string" use="required" />
	</xs:complexType>
</xs:schema>